Device and method for controlling a stream of data packets

ABSTRACT

The present invention proposes a device for controlling a stream of data packets, comprising: a buffer ( 2 ) adapted to receive a data packet stream from a data source ( 1 ) and to output said packet data stream with an output rate to a packet data communication network ( 7 ), a monitoring means ( 4 ) adapted to monitor a fill level of said buffer ( 2 ), a detection means ( 5 ) adapted to detect a fill level condition of said buffer ( 2 ), in which an incoming data packet has to be dropped, and adapted to control a dropping means ( 6 ) for dropping an incoming data packet upon detection of said fill level condition, and further comprising an output rate control means ( 5   a   , 8, 9, 10, 11 ) adapted to control an output rate adjusting means ( 3 ) which is adapted to adjust said output rate of said buffer ( 2 ), wherein said output rate control means, in response to said fill level condition detected by said detection means ( 5 ), issues a first control signal ( 5   a ) controlling said adjusting means ( 3 ) to increase a current output rate of said buffer to a predefined output rate, and said output rate control means, in response to each non-dropped data packet received after said detection by said detection means ( 2 ), issues a second control signal ( 11   a ) controlling said adjusting means ( 3 ) to decrease a currently adjusted output rate. The present invention also proposes a corresponding control method.

FIELD OF THE INVENTION

The present invention relates to a device for controlling a stream ofdata packets as well as to a corresponding method.

BACKGROUND OF THE INVENTION

Techniques for transmission of real-time signals such as streaming audioor video, voice over IP (VoIP) or videoconferencing media streams inInternet Protocol (IP) based networks are in high demand due to prospectof cost savings derived from the use of datacommunications equipmentbased on packet switched transmission instead of circuit-switchedtransmission networks.

To accomplish this task, certain Quality of Service (QoS) problems needto be solved. One such problem is the variability of transmission delaysin IP networks. Such a variability leads to variation of packetinterarrival times, even if the packets had been transmitted at equalintervals. Such a variation in interarrival times leads to burstiness ofdata stream bandwidth. Stated in other words, although data packets aretransmitted by a data source (e.g. a communication terminal or networkelement) in regular/constant intervals, these intervals might be subjectto variation due to the transmission path for/processing of the datapackets within the network. As a result, the data packets are receivedat the destination (e.g. a communication terminal or network element) inclusters or groups in which an interval between packets is shorter thanthe interval between the sent packets, and/or wherein an intervalbetween consecutively received data packets is longer than the intervalbetween the sent packets. This phenomenon is also referred to asburstiness.

This kind of variability can be reduced with traffic shaping. Trafficshaping is accomplished by using a traffic shaper device with aconfigurable output bandwidth. Note that throughout the specification, abandwidth (input or output bandwidth) of a device related to data packettransmission is intended to mean a corresponding data rate of thesent/received data packets (i.e. number of data and/or data packets perunit time).

If such a high number of packets arrives at the input of a trafficshaper device that they exceed the configured output bandwidth, they maybe enqueued in a buffer inside the traffic shaper device and transmittedlater so that an output bandwidth limit criterion is fulfilled. Due toreduction of burstiness of streams, traffic shaping at network edgesmakes aggregate bandwidth easier to manage. A reduction of burstiness isaccomplished since the data packet stream output from the traffic shaperdevice is output at regular intervals (i.e. with the output bandwidth ofthe traffic shaper device) so that formation of data packet clusters issuppressed or prevented.

Queuing, i.e. buffering of packets, however, presents two problems:

1) with a large number of shaped streams (e.g. more than one data sourcesupplies data packet streams to a network element), a per-stream bufferspace may be limited, and

2) queuing increases end-to-end delay between a sending communicationside and a receiving communication side. This in turn has adverseeffects on quality in the case of VoIP and videoconferencing asexperienced by an end user.

Due to this, traffic shapers usually have a limited perstream bufferspace combined with burst allowance. Burst allowance is defined as anallowed variation of bandwidth from the nominal bit rate of the stream.Another name for burst allowance is leaky bucket regulator. Moreprecisely, the larger the burst allowance, the larger clusters ofpackets can pass through the shaper without queuing.

However, dimensioning of the burst allowance for a traffic shapingdevice is rather difficult, since too large a value for the burstallowance defeats the original purpose of traffic shaping, whereas toosmall a value for the burst allowance leads to excessive packet losses.

In the latter connection, it has to be noted that a degree of allowablepacket loss is determined for a respective application the data of whichare transmitted, e.g. for a speech application (voice transmission) bythe audio coding used in the media streams. Modern speech codecs canusually tolerate a small amount (less than 1%) of lost frames withoutclear audible degradation in speech quality. However, severalconsecutive frame losses will inevitably lead to severe qualityproblems. In many cases a modern speech codec can tolerate 2–3 adjacentmissing frames without excessive degradation in subjective speechquality, provided that packet losses are separated by a large enoughnumber of packets that have arrived at the receiver. (Note that one ormore (audio) frames compose one data packet (IP data packet), while,however, one frame includes many data samples.) In listening tests, ithas been observed that the mean opinion score (MOS) is roughlyproportional to the average number of arrived packets between two packetlosses.

SUMMARY OF THE INVENTION

Hence, it is an object of the present invention to provide a device andcorresponding method for controlling a stream of data packets, by meansof which the dimensioning of the burst allowance for a device forcontrolling a stream of data packets such as a traffic shaping device isno longer difficult and also adequate for data packets originating fromwhatever application.

According to the present invention, this object is, for example,achieved by a device for controlling a stream of data packets,comprising a buffer adapted to receive a data packet stream from a datasource and to output said packet data stream with an output rate to apacket data communication network, a monitoring means adapted to monitora fill level of said buffer, a detection means adapted to detect a filllevel condition of said buffer, in which an incoming data packet has tobe dropped, and adapted to control a dropping means for dropping anincoming data packet upon detection of said fill level condition, andfurther comprising an output rate control means adapted to control anoutput rate adjusting means which is adapted to adjust said output rateof said buffer, wherein said output rate control means, in response tosaid fill level condition detected by said detection means, issues afirst control signal controlling said adjusting means to increase acurrent output rate of said buffer to a predefined output rate, and saidoutput rate control means, in response to each non-dropped data packetreceived after said detection by said detection means, issues a secondcontrol signal controlling said adjusting means to decrease a currentlyadjusted output rate.

According to advantageous further developments of the present invention:

-   -   said output rate control means comprises a first counter means        adapted to count a predetermined number N of non-dropped data        packets received after said detection by said detection means        and a comparator means adapted to compare said predetermined        number N with the current counter value;    -   said output rate control means further comprises a first logic        circuit adapted to output said second control signal if said        comparator judges that the current counter value is less than or        equal to said predetermined number N and a non-dropped data        packet is received;    -   said first counter means is reset by said first control signal;    -   said first counter means is incremented if a second logic        circuit judges that said first control signal is not present and        a non-dropped data packet is received;    -   said currently adjusted output rate is decreased by a        predetermined amount;    -   said predetermined amount is set to (ΔBW/N), with ΔBW being the        amount by which a nominal output rate is increased and N being a        predetermined number of received non-dropped data packets after        increasing the nominaloutput rate;    -   said predetermined amount is set to (ΔBW/(X*N)), with ΔBW being        the amount by which a nominal output rate is increased, N being        a predetermined number of received non-dropped data packets        after increasing the nominal output rate, and x being an        arbitrary factor with X><1;    -   said output rate control means comprises means for controlling        said output rate adjusting means to reset the output rate of        said buffer to said nominal output rate after said predetermined        number of received non-dropped data packets after increasing the        nominal output rate has been received;    -   said output rate control means controls said output rate        adjusting means to reset the output rate of said buffer to said        nominal output rate dependent on a buffer fill level of said        buffer;    -   said output rate control means comprises a third logic circuit        adapted to issue a control signal if the fill level of said        buffer monitored by said monitoring means is equal to a        predetermined fill level of said buffer and if said        predetermined number N of received non-dropped data packets        after increasing the nominal bandwidth has been received; and    -   said predefined output rate is a maximum output rate of said        buffer

Also, according to the present invention, the above object is achievedby a corresponding method for controlling a stream of data packetshaving like features and like advantageous further developments.

Stated in other words, according to the present invention, the burstallowance is adjusted in a predefined range dynamically based on thenumber of arrived packets since a last packet loss. For example,immediately after a packet loss, burst allowance is at the upper limitof the allowable range, and is decremented as more packets arrivewithout intervening packet losses.

With the device and/or method according to the present invention beingimplemented, it is advantageously enabled that bandwidth bursts areallowed when they are useful, i.e., after a packet loss when for examplea codec really needs information to maintain good speech quality. Thehigher limit of burst allowance (i.e. the maximum output rate, as aspecific example of predefined output rate, is the sum of a nominaloutput rate plus the amount by which the nominal output rate isincreased (ΔBW)) should be chosen such that traffic engineeringrequirements for the network in question are fulfilled. The lower limit(i.e. the nominal output rate) may be estimated from end-to-end delaycalculation. Note that a nominal output rate is considered to representa default output rate with which the buffer is configured to be operatedunder normal operating conditions (i.e. without a necessity to droppackets).

The present invention can also advantageously be utilized in dynamicjitter buffer adjustment.

BRIEF DESCRIPTION OF THE DRAWINGS

Still further objects, features and advantages of the present inventionwill become fully apparent upon referring to the subsequent descriptionthereof in greater detail with reference to the accompanying drawings,in which

FIG. 1 shows an embodiment of the device for controlling a stream ofdata packets according to the present invention;

FIG. 2 shows a further embodiment as a modification to be implemented tothe embodiment shown in FIG. 1;

FIG. 3 shows a diagram of the output bandwidth (output rate) of thedevice for controlling a stream of data packets versus a number ofarrived packets after a previous packet loss for the case of animplementation-as described in connection with FIG. 1; and

FIG. 4 shows a diagram of the output bandwidth (output rate) of thedevice for controlling a stream of data packets versus a number ofarrived packets after a previous packet loss for the case of animplementation as described in connection with FIG. 2.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present invention will now be described in detail with reference tothe drawings.

Firstly, it has to be noted that although in the foregoing reference hasbeen made to speech transmission as a particular example of packet data,the present invention is not limited thereto. Any kind of data flow maybe subjected to the present invention as long as the data flow is apacket data stream. Also, the packet data stream need not to conform toany specific protocol. For example, the data stream may conform to theATM (Asynchronous Transfer Mode) protocol, or to the Internet Protocol(IP), or to any other packet data based transmission protocol such asTCP/IP (Transmission Control Protocol/Internet Protocol) or the like.Also, the present invention is applicable in connection with packet losscontrol contexts as they are occurring in jitter buffers. Therefore, theforegoing and subsequent description refer only to a packet data streamin its most general way.

FIG. 1 shows an embodiment of the device for controlling a stream ofdata packets according to the present invention.

A data source 1 supplies data Din via an intermediate dropping means 6(to be explained later) represented as a controlled switch to an inputof a buffer 2 of a buffer size (storage capacity) S. The data Din aresupplied at an input rate Rin. Although only one data source is shown,it is of course possible that several data sources together supply datato the buffer. In such a case, the data rate Rin is correspondinglyincreased as it is represented by the sum of individual input datarates. At an output of the buffer, data Dout are output at a data rateRout to a packet based network 7 and/or network element (and/or terminaldevice).

Note that the input data rate may vary according to the behavior of thedata source(s) 1. Also, the output data rate may vary. In particular,the output data rate Rout is adjusted by an output rate adjusting means3-adapted to set the output rate Rout under control of control signals 5a, 11 a, (14 a as shown in FIG. 2) to be explained later. (Under normaloperating conditions the output rate may be assumed to be set to anominal output rate as a default value).

Connected to the buffer 2 is a monitoring means 4 adapted to monitor thebuffer fill level. That is, each time data and/or a data packet Din isreceived at the input of the buffer at a respective rate Rin, a signal(Rin) is supplied to a counter 4 and the counter value is incremented.Likewise, each time data and/or a data packet Dout is output at arespective (currently set) output rate Rout, a signal (Rout) is suppliedto the counter 4 and the counter value is decremented. Thus, the countervalue C1 of the counter 4 always represents the fill level of the buffer2. The counter 4 is preferably an upward-downward counter. However, itmay be realized as an upward counter and a downward counter with thedifference of count values thereof being calculated in order to obtainthe current buffer fill level.

The current fill level of the buffer 2 is represented by the countervalue C1, which is supplied to a detection means 5 (a comparator means).At the detection means 5, the counter value C1 is compared with the sizeof the buffer S. That is, it is detected whether the counter value C1 isless or equal the buffer size. If not, i.e. if the counter value C1 isgreater than the buffer size S, the comparator 5 detects that the bufferis full and/or will overflow and issues a control signal 5 a supplied tothe dropping means 6. Note that in a modification (not shown), thedetection means may also be configured such that it is detected whetherthe buffer is almost full by comparing the buffer fill level with acertain percentage of the buffer size, so that it is detected whetherthe fill level exceeds e.g. 95% of the buffer size S or not.

In response to the control signal 5 a, the switch 6 will be opened sothat subsequently arriving data/data packets will not reach/enter thebuffer and are thus dropped/discarded. During this, the buffer continuesto output data and will at some time reach a state in which thedetection means/comparator 5 issues a signal indicating that the bufferis not full so that dropping of data packets is stopped (the droppingmeans/switch 6 is closed again).

When the detection means 5 detects that the buffer is full (or,according to the conceivable modification, nearly full) and that one ormore packets will have to be dropped, the detection signal 5 a is alsosupplied as a first control signal to the output rate adjusting means 3.In response to this first control signal, the setting of Rout of thebuffer is effected such that Rout is set from a nominal (i.e. default)output rate (bandwidth) BWnom to a predefined output rate such as forexample to its maximum output rate. That is, the output rate (bandwidth)BW is BWnom+ΔBW (as shown in FIGS. 3 and 4) and thus increased by a anamount ΔBW to a predefined output rate such as the maximum output rate.Note that the comparator 5 acts as a detection means as well as it actsas a part of the output rate control means.

Also, the signal 5 a is supplied to a reset input of another counter 9,such that a counter value of the counter 9 will be reset to zero eachtime the signal 5 a is supplied thereto. In addition, the signal 5 a isfed via an inverting means 88 to an input of an AND gate 8 as a secondlogic circuit. Another input of the AND gate 8 is connected to thesignal line labeled Rin indicating the reception of a data packet at thebuffer 2 (and incrementing the counter 4). Thus, the counter 9 counts,represented by a counter value C2, the number of received packets aftera dropped packet. As long as the signal Sa is active and/or issued bythe detection means 5, the counter 9 remains reset to zero. Only if thesignal 5 a is changed to be inactive (since the buffer is not full), thecounter begins to count. The counter counts only those data packetsreceived at the buffer 2 which are received while the signal 5 a isinactive (e.g. has a logical level of zero), so that the output of theinverter 88 is active (e.g. has a logical value of one). Then, eachreceived data packet will lead to an output signal of the AND gate 8which increments the counter 9 (counter value C2).

The counter value C2 is compared by a comparator means and/or comparator10 with a preset value N. N represents the number of data packetsreceived since a recent loss/dropping of data packets, for which numberthe output rate Rout of the buffer is controlled to be decremented.Thus, for each counter value C2 smaller or equal to N, the comparator 10outputs an active signal (e.g. of logical value of one) supplied to aninput terminal of an AND gate 11 (a first logic circuit). To anotherinput terminal of the AND gate 11 there is connected the signal linelabeled Rin indicating the reception of a data packet at the buffer 2(and incrementing the counter 4). Thus, as long as the counter value C2is smaller than or equal to N and a data packet is received (after therecent packet dropping), the AND gate 11 outputs a control signal 11 asupplied as a second control signal to the output rate adjusting means3. In response to the second control signal, the output rate adjustingmeans 3 is controlled to decrement the output rate Rout (outputbandwidth), e.g. to decrement it by a predetermined amount. Hence, themaximum output rate is decremented N times in this example.

Assuming that the output rate adjusting means is configured such thatthe decrementing step is set to a absolute value of ΔBW/N, then theoutput rate (bandwidth) BW is reduced from its predefined (e.g.maximum)output rate value BWnom+ΔBW to its nominal value BWnom after receptionof N consecutive data packets after the last loss/dropping of a datapacket.

This functional principle of the arrangement illustrated in FIG. 1 isrepresented in FIG. 3. Namely, FIG. 3 shows a diagram of the outputbandwidth BW of the device for controlling a stream of data packetsversus a number of arrived packets C2 after a previous packet loss. Thecondition of the buffer 2 in which a previous packet had to be droppedis indicated by C2=0 (counter 9 is reset in this condition). Then, eachtime a data packet is received after the previous dropping, the outputrate (bandwidth) is reduced by a step of ΔBW/N, so that after N receivedpackets, the nominal output bandwidth of the buffer is reached again(restored). In each case in which a packet has to be dropped before Npackets have been received, the counter 9 will be reset to zero and theoutput rate of the buffer 2 will be set to the predefined (e.g. itsmaximum) output rate value. With respect to the diagram shown in FIG. 3,this will correspond to a “jump” to the position C2=0 and BW=BWnom+ΔBW.Thus, a current output rate is increased to a predefined output rateeach time a packet has to be dropped.

Herein above, it has been assumed that the step width for decrementingthe maximum output bandwidth of the buffer is set to ΔBW/N. However, itsconceivable that the step width is set ΔBW/(X*N), X being an arbitraryfactor not equal to one, i.e. X><1.

In a case of X>1, the step width for decrementing is reduced as comparedto the above example of ΔBW/N. Thus, after reception of N data packetsafter the recently dropped data packet, the output bandwidth will nothave been reduced to its nominal bandwidth.

Likewise, in a case of X<1, the step width for decrementing is increasedas compared to the above example of ΔBW/N. Thus, after reception of Ndata packets after the recently dropped data packet, the outputbandwidth will have been reduced below its nominal bandwidth. (Thisimplementation may be less advantageous since the buffer will take alonger time to reduce its fill level because the output rate/bandwidthof the buffer is more quickly reduced.)

In any of the two immediately preceding cases (i.e. for x>1 or x<1), itmay be desirable to reset the output bandwidth to its nominal valueBWnom.

To this end, in a modification of the embodiment of the invention asdescribed in connection with FIG. 2 (and FIG. 4 representing the case ofX>1), the output rate control means comprises means 12, 13, 14 forcontrolling said output rate adjusting means 3 to reset the output rateof said buffer 2 to said nominal output rate after said predeterminednumber of received non-dropped data packets after increasing the nominalbandwidth has been received.

According to the modification, said output rate control means controlssaid output rate adjusting means 3 to reset the output rate of saidbuffer 2 to said nominal output rate dependent on a buffer fill level ofsaid-buffer 2.

An implementation of said modification is shown in FIG. 2. A buffer filllevel at which the nominal output bandwidth is desired to be reset isderived by weighting the maximum fill level with a weighting factor W ina weighting device such as a multiplier 12. Of course, the weightingfactor W should be chosen to be less than one, since the buffer 2 maynever reach a fill level higher than its maximum fill level S.

The weighted fill level W*S is supplied to an input terminal of acomparator means 13. The comparator means 13 compares the value of W*Swith the current fill level, represented by the counter value C1, of thebuffer 2. The comparator 13 outputs an active signal (of a high levelsuch as logical one) if the current counter value C1 (buffer fill level)is below or equal to the value W*S, i.e. if the buffer fill level hasreached or fallen below the predetermined fill level.

The output signal of the comparator 13 is supplied as an input signal toan AND gate 14 as a third logic circuit. Other input signals of said ANDgate 14 are the counter value C2 representing the number of receivedpackets after the last dropping of a packet and the predetermined numberN of packets for which the output bandwidth is to bereduced/decremented. Thus, only if C2 equals N, and if simultaneouslythe predetermined fill level S*W or a lower fill level of the buffer 2has been reached, the,logic circuit 14 outputs a (third) control signal14 a. The signal 14 a is supplied to the output rate adjusting means 3,which in response to the reception of the third control signal 14 aresets the output bandwidth of the buffer 2 to its nominal value BWnom.Note that the logic circuit 14 may be composed of two AND gates, onechecking for equality of C2 with N, and the other checking subsequentlythe simultaneous presence of the conditions C1<=W*S and C2=N. Only forsimplicity of drawing, the logic circuit 14 has been represented as asingle logic gate.

The functionality of this modification is illustrated in FIG. 4.Similarly to FIG. 3, after detection of a cell/packet to be dropped ordropped (C2=0), the output bandwidth is increased to a predefined outputrate, e.g. to its maximum value BW=BWnom+ΔBW. Upon reception of eachsubsequent packet, the output bandwidth is reduced by a step of widthΔBW/(X*N). Hence, after reception of N data packets, the outputbandwidth BW of the buffer 2 will have reached a value ofBW=BWnom+ΔBW−N*(ΔBW/X*N)=BWnom+ΔBW−(ΔBW/X). Then, the output bandwidthis no longer decremented because of the output signal of the first logiccircuit 11 shown in FIG. 1 and explained in connection therewith. Only acertain number of received data packets afterwards (i.e. after more thanN received packets after a dropping of a packet), the condition C1<=W*Sis also fulfilled (due to the buffer becoming more empty), and then theoutput bandwidth of the buffer is reduced by a “jump”, that is, it isreset, to its nominal value BWnom, as shown in FIG. 4.

Herein above, different cases for a step width for decrementing theoutput bandwidth have been considered. In any of these cases, the stepwidth had been assumed to be equal for each step of decrementing.However, in a further modification (not shown) it is conceivable thatthe step width also depends on the number of received packets. Forexample, as in the preceding cases, immediately after dropping of a datapacket the bandwidth is increased to a predefined output rate such as-toits maximum value. However, afterwards, a first number of firstdecrementing steps uses a smaller decrement, so that the buffer will besupported to be emptied more quickly due to a higher output bandwidth,while afterwards, the decrementing steps may use a larger decrement asthe buffer has already become “more empty”, before reducing the bufferoutput bandwidth to its nominal value.

The reduction to the nominal value may be effected such that BWnom isreached after N received data packets (similar as in the case describedin connection with FIG. 1, 3), or that the output bandwidth after Nreceived data packets is still above the nominal output bandwidth and isreset upon the occurrence of a specific condition (similar as in thecase described in connection with FIG. 2, 4).

A) For example, a decrementing step width may be configured in theoutput rate adjustment means to be (ΔBW/((N+1−C2)*N)). Then, with eachreceived data packet the decrementing step width is varied: for thefirst received packet C2=1, the decrement is (ΔBW/N²), while for theN-th received packet, the decrement is (ΔBW/N). Of course, this examplemay be combined with a factor X as mentioned above.

B) Still further, the decrementing step width may be defined to be equalwithin intervals of counter values C2, while being different betweenrespective intervals. For example, a decrementing step width may beconfigured in the output rate adjustment means to be (ΔBW/N) for allvalues of C2 between C2=0 . . . N2, and to be (ΔBW/(X*N)) for all valuesof C2 between C2=((N/2)+1) . . . N, X being a factor as mentionedfurther above and X>1. Also, more than two intervals are possible to bedefined. (Note that in the immediately preceding example, this could beconsidered as if N intervals were defined).

C) The proposals as indicated under item A) and B) above may also becombined, so that within intervals of count values C2, the decrementingstep width may vary, or that within one or more intervals the step widthmay be constant while within the other intervals it may be varying.

Heretofore, the present invention has mainly been described with a focuson a specific hardware implementation thereof which was chosen as anexample. Nevertheless, it should be clear that the present inventioncovers also any hardware arrangement as long as it is operated accordingto the method according to the present invention.

Namely, any hardware arrangement operated such that it implements amethod for controlling a stream of data packets, comprising the steps ofbuffering, in a buffer 2, a data packet stream received from a datasource 1 and outputting said packet data stream from said buffer 2 withan output rate to a packet data communication network 7, monitoring afill level of said buffer 2, detecting a fill level condition of saidbuffer 2, in which an incoming data packet has to be dropped, andcontrolling a dropping means 6 for dropping an incoming data packet upondetection of said fill level condition, and further comprising the stepsof controlling an output rate adjusting means 3 to adjust said outputrate of said buffer 2, wherein in response to said fill level conditiondetected in said detecting step, a first control signal 5 a is issued,controlling said adjusting means 3 to increase a current output rate ofsaid buffer to a predefined output rate, and in response to eachnon-dropped data packet received after said detecting, a second controlsignal 11 a is issued, controlling said adjusting means 3 to decrease acurrently adjusted output rate, is intended to be covered by the presentinvention.

Also, any method wherein according to respective further developments

-   -   said controlling step comprises a first counting step for        counting a predetermined number N of non-dropped data packets        received after said detection in said detecting step and a        comparing step for comparing said predetermined number N with        the current counting value;    -   said controlling step further comprises a first logic evaluating        step for outputting said second control signal 11 a if said        comparing step yields that the current counter value is less        than or equal to said predetermined number N and a non-dropped        data packet is received;    -   there is a further step of resetting and restarting said first        counting step by said first control signal 5 a;    -   there is a step of incrementing, in said first counting, if a        second logic evaluating step yields that said first control        signal 5 a is not present and a non-dropped data packet is        received;    -   said currently adjusted output rate is decreased by a        predetermined amount;    -   said predetermined amount is set to (ΔBW/N), with ΔBW being the        amount by which a nominal output rate is increased and N being a        predetermined number of received non-dropped data packets after        increasing the nominaloutput rate;    -   said predetermined amount is set to (ΔBW/(X*N)), with ΔBW being        the amount by which a nominal output rate is increased, N being        a predetermined number of received non-dropped data packets        after increasing the nominaloutput rate, and x being an        arbitrary factor with X><1;    -   there is a step of controlling said output rate adjusting means        3 to reset the output rate of said buffer 2 to said nominal        output rate after said predetermined number of received        non-dropped data packets after increasing the nominal output        rate has been received;    -   there is a step of controlling said output rate adjusting means        3 to reset the output rate of said buffer (2) to said nominal        output rate dependent on a buffer fill level of said buffer 2;    -   there is a third logic evaluating step for issuing a control        signal 14 a if the fill level of said buffer monitored in said        monitoring step is equal to a predetermined fill level of said        buffer 2 and if said predetermined number N of received        non-dropped data packets after increasing the nominal output        rate has been received, is intended to be covered by the present        invention.

Accordingly, as has been described herein before, the present inventionproposes a device for controlling a stream of data packets, comprising:a buffer 2 adapted to receive a data packet stream-from a data source 1and to output said packet data stream with an output rate to a packetdata communication network 7, a monitoring means 4 adapted to monitor afill level of said buffer 2, a detection means 5 adapted to detect afill level condition of said buffer 2, in which an incoming data packethas to be dropped, and adapted to control a dropping means 6 fordropping an incoming data packet upon detection of said fill levelcondition, and further comprising an output rate control means 5 a, 8,9, 10, 11, 12, 13, 14 adapted to control an output rate adjusting means3 which is adapted to adjust said output rate of said buffer 2, whereinsaid output rate control means, in response to said fill level conditiondetected by said detection means 5, issues a first control signal 5 asaid adjusting means 3 to increase a current output rate of said bufferto a predefined output rate, and said output rate control means, inresponse to each non-dropped data packet received after said detectionby said detection means 2, issues a second control signal 11 acontrolling said adjusting means 3 to decrease a currently adjustedoutput rate. The present invention also proposes a corresponding controlmethod.

Although the present invention has been described herein above withreference to its preferred embodiments, it should be understood thatnumerous modifications may be made thereto without departing from thespirit and scope of the invention. It is intended that all suchmodifications fall within the scope of the appended claims.

1. A device for controlling a stream of data packets, comprising: abuffer (2) adapted to receive a data packet stream from a data source(1) and to output said packet data stream with an output rate to apacket data communication network (7), a monitoring means (4) adapted tomonitor a fill level of said buffer (2), a detection means (5) adaptedto detect a fill level condition of said buffer (2), during which filllevel condition an incoming data packet has to be discarded, and adaptedto control a discarding means (6) for discarding an incoming data packetduring the presence of said fill level condition, and further comprisingan output rate control means (5, 5 a, 8, 9, 10, 11; 12, 13, 14) adaptedto control an output rate adjusting means (3) which is adapted to adjustsaid output rate of said buffer (2), wherein said output rate controlmeans, during the presence of said fill level condition detected by saiddetection means (5), issues a first control signal (5 a) controllingsaid adjusting means (3) to increase a current output rate of saidbuffer to a predefined output rate and said output rate control means,in response to each non-discarded data packet received after thepresence of said fill level condition detected by said detection means(5) is over, issues a second control signal (11 a) controlling saidadjusting means (3) to decrease a currently adjusted output rate.
 2. Adevice according to claim 1, wherein said output rate control meanscomprises a first counter means (9) adapted to count a predeterminednumber (N) of non-discarded data packets received after said detectionby said detection means (2) and a comparator means (10) adapted tocompare said predetermined number (N) with the current counter value. 3.A device according to claim 2, wherein said output rate control meansfurther comprises a first logic circuit (11) adapted to output saidsecond control signal (11 a) if said comparator judges that the currentcounter value is less than or equal to said predetermined number (N) anda non-discarded data packet is received.
 4. A device according to claim2, wherein said first counter means is reset by said first controlsignal (5 a).
 5. A device according to claim 4, wherein said firstcounter means is incremented if a second logic circuit (8) judges thatsaid first control signal (5 a) is not present and a non-discarded datapacket is received.
 6. A device according to claim 1, wherein saidcurrently adjusted output rate is decreased by a predetermined amount.7. A device according to claim 6, wherein said predetermined amount isset to (ΔBW/N), with ΔBW being the amount by which a nominal output rateis increased and N being a predetermined number of receivednon-discarded data packets after increasing the nominal output rate. 8.A device according to claim 6, wherein said predetermined amount is setto (ΔBW/(X*N)), with ΔBW being the amount by which a nominal output rateis increased, N being a predetermined number of received non-discardeddata packets after increasing the nominal output rate, and X being anarbitrary factor with X><1.
 9. A device according to claim 8, whereinsaid output rate control means comprises means (12, 13, 14) forcontrolling said output rate adjusting means (3) to reset the outputrate of said buffer (2) to said nominal output rate after saidpredetermined number of received non-discarded data packets afterincreasing the nominal output rate has been received.
 10. A deviceaccording to claim 9, wherein said output rate control means controlssaid output rate adjusting means (3) to reset the output rate of saidbuffer (2) to said nominal output rate dependent on a buffer fill levelof said buffer (2).
 11. A device according to claim 10, wherein saidoutput rate control means comprises a third logic circuit (14, 13, 12)adapted to issue a control signal (14 a) if the fill level of saidbuffer monitored by said monitoring means is equal to a predeterminedfill level of said buffer (2) and if said predetermined number (N) ofreceived non-discarded data packets after increasing the nominalbandwidth has been received.
 12. A device for controlling a stream ofdata packets according to claim 1, wherein said buffer (2) to which saiddata packets stream is supplied is a jitter buffer.
 13. A deviceaccording to claim 1, wherein said predefined output rate is a maximumoutput rate of said buffer.
 14. A method for controlling a stream ofdata packets, comprising: buffering, in a buffer (2), a data packetstream received from a data source (1) and outputting said packet datastream from said buffer (2) with an output rate to a packet datacommunication network (7), monitoring a fill level of said buffer (2),detecting a fill level condition of said buffer (2), during which anincoming data packet has to be discarded, and controlling a discardingmeans (6) for discarding an incoming data packet during the presence ofsaid fill level condition, and further comprising the steps ofcontrolling an output rate adjusting means (3) to adjust said outputrate of said buffer (2), wherein during the presence of said fill levelcondition detected in said detecting step, a first control signal (5 a)is issued, controlling said adjusting means (3) to increase a currentoutput rate of said buffer to a predefined output rate, and in responseto each non-discarded data packet received after the presence of saidfill level condition is over, a second control signal (11 a) is issued,controlling said adjusting means (3) to decrease a currently adjustedoutput rate.
 15. A method according to claim 14, wherein saidcontrolling step comprises first counting step for counting apredetermined number (N) of non-discarded data packets received aftersaid detection in said detecting step and a comparing step for comparingsaid predetermined number (N) with the current counting value.
 16. Amethod according to claim 15, wherein controlling step further comprisesa first logic evaluating step for outputting said second control signal(11 a) if said comparing step yields that the current counter value isless than or equal to said predetermined number (N) and a non-discardeddata packet is received.
 17. A method according to claim 15, furthercomprising a step of resetting and restarting said first counting stepby said first control signal (5 a).
 18. A method according to claim 17,comprising incrementing, in said first counting, if a second logicevaluating step yields that said first control signal (5 a) is notpresent and a non-discarded data packet is received.
 19. A methodaccording to claim 14, wherein said currently adjusted output rate isdecreased by a predetermined amount.
 20. A method according to claim 19,wherein said predetermined amount is set to (ΔBW/N), with ΔBW being theamount by which a nominal output rate is increased and N being apredetermined number of received non-discarded data packets afterincreasing the nominal output rate.
 21. A method according to claim 19,wherein said predetermined amount is set to (ΔBW/(X*N)), with ΔBW beingthe amount by which a nominal output rate is increased, N being apredetermined number of received non-discarded data packets afterincreasing the nominal output rate, and x being an arbitrary factor withX><1.
 22. A method according to claim 21, comprising controlling saidoutput rate adjusting means (3) to reset the output rate of said buffer(2) to said nominal output rate after said predetermined number ofreceived non-discarded data packets after increasing the nominalbandwidth has been received.
 23. A method according to claim 22,comprising controlling said output rate adjusting means (3) to reset theoutput rate of said buffer (2) to said nominal output rate dependent ona buffer fill level of said buffer (2).
 24. A device according to claim23, comprising a third logic evaluating step for issuing a controlsignal (14 a) if the fill level of said buffer monitored in saidmonitoring step is equal to a predetermined fill level of said buffer(2) and if said predetermined number (N) of received non-discarded datapackets after increasing the nominal bandwidth has been received.
 25. Amethod for controlling a stream of data packets according to claim 14,wherein said data packet stream is buffered in a jitter buffer.
 26. Amethod according to claim 14, wherein said predefined output rate is amaximum output rate of said buffer.